package com.inteligencia.stage.services.util;

public abstract class PlugableService {

    /**
     * Propiedad que define si es necesario que el servicio sea inicializado al memoento en
     * que se crea
     */
    protected boolean initialized;

    /**
     * Método <setter> de la propiedad initialized
     * @param nuevo valor de la propiedad initialized
     */
    public void setInitialized(boolean initialized) {
        this.initialized = initialized;
    }

    /**
     * Método <getter> de la propiedad initialized
     * @return valor de la propiedad initialized
     */
    public boolean isInitialized() {
        return initialized;
    }

    /**
     * Éste método debe ser implementado por los servicios Plugable, para efectos
     * de la inicialización específica del servicio.
     * @return valor de la propiedad initialized
     */
    public abstract void initialize(Object param);
}